Aurora Serverless v2にクエリエディタから接続してみた

Aurora Serverless v2にクエリエディタから接続してみた

Clock Icon2023.12.25

はじめに

先日、Aurora Serverless v2でData APIがサポートされたというアップデートがありました。サポートされたバージョンなど詳細についてはこちらの記事をご確認ください。

Serverless v2 とプロビジョニングされた Amazon Aurora PostgreSQL で RDS Data API がサポートされました | DevelopersIO

RDSにはマネジメントコンソール上からデータベースに対してクエリを実行できるクエリエディタという機能がありますが、Data APIを有効にしなければ使えません。そのため、これまではv2でクエリエディタは使えなかったのですが、今回のアップデートで使えるようになったので試してみたいと思います。

Aurora Serverless v2の作成

まずはAuroraクラスターを作成します。

作成方法は「標準作成」を選択、エンジンは「Aurora (PostgreSQL Compatible)」を選択します。

Data APIはAurora PostgreSQL 15.3、14.8、13.11 以降でサポートされるので、ここでは15.3を選択します。

テンプレートは「開発/テスト」を選択します。クラスター識別子やマスターユーザ名は任意の名前を入力し、管理を楽にするために「AWS Secrets Managerでマスター認証情報を管理する」にチェックを入れます。(チェックしなくてもクエリエディタの使用には支障ありません)

今回はServerlessクラスターを作りたいので、インスタンスの設定で「Serverless v2」を選択します。その他のオプションは必要に応じて変更します。

VPCとDBサブネットグループを選択します。その他の設定はデフォルトのままです。

セキュリティグループを選択するか、新規作成します。セキュリティグループはポート5432へのインバウンドを許可している必要があります。そして、「Enable the RDS Data API」にチェックを入れます。

その他の設定はデフォルトのままで構いませんが、必要に応じて変更します。設定が終わったらデータベースを作成します。

データベースが利用可能になるまで数分ほど待ちます。

クエリエディタでの接続

「AWS Secret Managerでマスター認証情報を管理する」にチェックを入れた場合、Secrets Managerにシークレットが自動で作成されています。

詳細画面に入り、ARNをコピーしておきます。

クエリエディタを開くと、「データベースに接続します」という画面が表示されます。もし画面が表示されない場合、クエリエディタの「データベースを変更する」をクリックします。

「データベースに接続します」画面ではクラスターを選択し、「Secrets Manager ARNと接続する」を選択して先ほどコピーしたARNを入力します。

「AWS Secret Managerでマスター認証情報を管理する」にチェックを入れなかった場合は、「新しいデータベース認証情報を追加します」を選択してユーザ名やパスワードを手動で入力します。

クエリエディタが表示されます。

エディタに以下のクエリを入力して実行してみます。

create table sampletable(
  userid int
);

insert into sampletable VALUES(1);
insert into sampletable VALUES(2);
insert into sampletable VALUES(3);

select * from sampletable;

結果が表示され、クエリが実行できたことがわかりました。

補足

未対応のバージョンでも「Enable the RDS Data API」にチェックを入れることはできますが、データベース作成時に以下のようなエラーが作成されます。

おわりに

これまでAurora Serverless v2でちょっとした動作確認をしたいだけの場合でも、パブリックアクセスをONにしてSQLクライアントから接続する必要がありました。

参考:Aurora Serverless(v2)のPostgreSQLに外部のSQLクライアントから接続してみた | DevelopersIO

Data APIがサポートされたことで、パブリックアクセスをONにしなくてもクエリエディタからクエリを実行できるようになり、個人的にはとても嬉しいです。

この記事が参考になれば幸いです。

Share this article

facebook logohatena logotwitter logo

© Classmethod, Inc. All rights reserved.